﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Microsoft.Reporting.WinForms;

namespace ВУИ
{
    public partial class EpiOt : Form
    {
        Form1 Main;
        int Id;
        public EpiOt(Form1 main, int id)
        {
            InitializeComponent();
            Main = main;
            Id = id;
            List<ReportEdpidemcs> r = new List<ReportEdpidemcs>();
            int i=1;
            float sum = 0;
            foreach (EpiAtt e in main.lEpiAtt)
            {
                ReportEdpidemcs r1 = new ReportEdpidemcs();
                r1.Номер = i;
                r1.Этиолог_диагноз_признак = e.Признак;

                if (main.lPatient[main.itnPatietn(id)].Epidenamnez.Att.IndexOf(e.Номер)>=0)
                {
                    r1.Да="+";
                    r1.Нет="";
                    sum += e.Значние;
                }
                else
                    {
                    r1.Да="";
                    r1.Нет="+";
                }
                r.Add(r1);
                i++;
            }
            this.reportViewer1.LocalReport.DataSources.Add(new ReportDataSource("DataSet1", r));

            List<ReportEdpidemcs> r3 = new List<ReportEdpidemcs>();
            ReportEdpidemcs r4 = new ReportEdpidemcs();
            r4.Номер = 1;
            r4.Этиолог_диагноз_признак = "Семейный анамнез отягощен по герпетической инфекции";
            if (main.lPatient[main.itnPatietn(id)].Epidenamnez.fam)
            {
                r4.Да = "+";
                r4.Нет = "";
            }
            else
            {
                r4.Да = "";
                r4.Нет = "+";
            }
            r3.Add(r4);
            ReportEdpidemcs r5 = new ReportEdpidemcs();
            r5.Номер = 2;
            r5.Этиолог_диагноз_признак = "Обострение герпетической инфекции во время беременности у матери";
            if (main.lPatient[main.itnPatietn(id)].Epidenamnez.obostr)
            {
                r5.Да = "+";
                r5.Нет = "";
            }
            else
            {
                r5.Да = "";
                r5.Нет = "+";
            }
            r3.Add(r5);
            this.reportViewer1.LocalReport.DataSources.Add(new ReportDataSource("DataSet3", r3));


            List<ReportScrin> s = new List<ReportScrin>();
            foreach (Scrin e in main.lPatient[main.itnPatietn(id)].Epidenamnez.Scrining)
            {
                ReportScrin r1 = new ReportScrin();
                r1.Дата = e.date;
                r1.Серологические_иледования = "IgG";
                r1.ВПГ = e.data[0];
                r1.ЦМВ = e.data[1];
                r1.Токсопл = e.data[2];
                r1.Хламидии = e.data[3];
                s.Add(r1);
                ReportScrin r2 = new ReportScrin();
                r2.Дата = e.date;
                r2.Серологические_иледования = "IgM";
                r2.ВПГ = e.data[4];
                r2.ЦМВ = e.data[5];
                r2.Токсопл = e.data[6];
                r2.Хламидии = e.data[7];
                s.Add(r2);
                ReportScrin r6 = new ReportScrin();
                r6.Дата = e.date;
                r6.Серологические_иледования = "ИА";
                r6.ВПГ = e.data[8];
                r6.ЦМВ = e.data[9];
                r6.Токсопл = e.data[10];
                r6.Хламидии = e.data[11];
                s.Add(r6);
            }
            this.reportViewer1.LocalReport.DataSources.Add(new ReportDataSource("DataSet2", s));

            List<ReportParameter> paramList = new List<ReportParameter>();
            paramList.Add(new ReportParameter("ФИО", Main.lPatient[Main.itnPatietn(id)].This.Surname + " " + Main.lPatient[Main.itnPatietn(id)].This.Name + " " + Main.lPatient[Main.itnPatietn(id)].This.Patronymic));
         
                paramList.Add(new ReportParameter("Итог", "Вероятность ВУИ очень велика"));
            if (sum < 20)
                paramList.Add(new ReportParameter("Итог", "Диагноз ВУИ сомнителен"));
            if (sum <12)
                paramList.Add(new ReportParameter("Итог", "Диагноз ВУИ маловероятен"));
            if (Main.lPatient[Main.itnPatietn(id)].Epidenamnez.rod==0)
                paramList.Add(new ReportParameter("Аудиолог", "pass"));
            if (Main.lPatient[Main.itnPatietn(id)].Epidenamnez.rod == 1)
                paramList.Add(new ReportParameter("Аудиолог", "refer "));
            if (Main.lPatient[Main.itnPatietn(id)].Epidenamnez.rod == 2)
                paramList.Add(new ReportParameter("Аудиолог", "не проводлся"));
         
            reportViewer1.LocalReport.SetParameters(paramList);
        }

        private void EpiOt_Load(object sender, EventArgs e)
        {

            this.reportViewer1.RefreshReport();
        }

        private void reportViewer1_Load(object sender, EventArgs e)
        {

        }

        private void bindingSource1_CurrentChanged(object sender, EventArgs e)
        {

        }
    }
}
